package com.vviton.zyhj.consumer.controller;

import java.io.IOException;
import java.text.ParseException;
import java.util.LinkedHashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.vviton.zyhj.common.utils.LocaleUtil;
import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.view.ViewJfmxZyhj;
import com.vviton.zyhj.consumer.service.WdjfService;
import com.vviton.zyhj.content.CommonConstants;
import com.wdcloud.framework.core.log.annotation.MonitorLog;

/**
 * ClassName:WdjfController <br/>
 * Function: 我的积分Controller. <br/>
 * Date: 2016年12月20日 下午5:19:33 <br/>
 * 
 * @author qiaocf
 * @version
 * @since JDK 1.7
 * @see
 */
@Controller
@RequestMapping("wdjf")
public class WdjfController {

    /** 我的积分Service **/
    @Autowired
    private WdjfService wdjfService;

    /**
     * 
     * getWdjfmxGroupByRq,(获取我的积分明细(根据日期分组)). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2016年12月20日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2016年12月20日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param zh 账号
     * @param req 会话
     * @return List<ViewJfmx> 我的积分明细
     * @throws IOException 异常
     * @since JDK 1.7
     */
    @RequestMapping("getWdjfmxGroupByRq")
    @ResponseBody
    @MonitorLog(text = "获取我的积分明细(根据日期分组)", containRequest = true)
    public LinkedHashMap<String, List<ViewJfmxZyhj>> getWdjfmxGroupByRq(@RequestParam String zh, HttpServletRequest req) throws IOException {
        zh = CommonConstants.getRyzh(req);
        String lang = LocaleUtil.getLocale().getLanguage();
        try {
            return wdjfService.getWdjfmxGroupByRq(zh, lang);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 
     * getWdjfMxGroupByMonth,(获取我的积分明细(根据月份分组)). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2017年1月9日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2017年1月9日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param zh 账号
     * @param req 会话
     * @return 积分明细
     * @throws IOException 异常
     * @since JDK 1.7
     */
    @RequestMapping("getWdjfMxGroupByMonth")
    @ResponseBody
    @MonitorLog(text = "获取我的积分明细(根据月份分组)", containRequest = true)
    public LinkedHashMap<String, LinkedHashMap<String, List<ViewJfmxZyhj>>> getWdjfMxGroupByMonth(@RequestParam String zh, HttpServletRequest req) throws IOException {
        zh = CommonConstants.getRyzh(req);
        String lang = LocaleUtil.getLocale().getLanguage();
        try {
            return wdjfService.getWdjfMxGroupByMonth(zh, lang);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 
     * getJfxx,(获取会员积分信息，包含可用积分，过期积分). <br/>
     * Author: qiaocf <br/>
     * Create Date: 2016年12月21日 <br/>
     * ===============================================================<br/>
     * Modifier: Administrator <br/>
     * Modify Date: 2016年12月21日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     * 
     * @param yhlx 用户类型
     * @param zh 账号
     * @param req 会话
     * @return 会员积分信息
     * @throws IOException 异常
     * @since JDK 1.7
     */
    @RequestMapping("getJfxx")
    @ResponseBody
    @MonitorLog(text = "获取会员积分信息，包含可用积分，过期积分", containRequest = true)
    public ResultJson getJfxx(@RequestParam String yhlx, @RequestParam String zh, HttpServletRequest req) {
        zh = CommonConstants.getRyzh(req);
        return wdjfService.getJfxx(zh, yhlx);
    }

}
